using net_work.Common.Request;
using net_work.Common.Result;
using net_work.Data.DTO.Hmw;
using net_work.Data.Entity.Hmw;

namespace net_work.IService.Hmw;

public interface IBankAnswerService
{
    /// <summary>
    /// 分页查询题库答案
    /// </summary>
    /// <param name="request">查询参数</param>
    /// <returns>分页结果</returns>
    Task<PagedResult<BankAnswer>> GetBankAnswersPagedAsync(PagedRequest request);

    /// <summary>
    /// 根据题库答案ID查询题库答案信息
    /// </summary>
    /// <param name="bankAnswerId">题库答案ID</param>
    /// <returns>题库答案信息</returns>
    Task<BankAnswer?> SelectByIdAsync(long bankAnswerId);

    /// <summary>
    /// 插入题库答案
    /// </summary>
    /// <param name="bankAnswerAddRequest">新增题库答案实体</param>
    /// <returns>插入的ID</returns>
    Task<long> InsertBankAnswer(BankAnswerAddRequest bankAnswerAddRequest);

    /// <summary>
    /// 更新题库答案信息
    /// </summary>
    /// <param name="bankAnswerUpdateRequest">更新题库答案信息</param>
    /// <returns>是否成功</returns>
    Task<int> UpdateBankAnswer(BankAnswerUpdateRequest bankAnswerUpdateRequest);

    /// <summary>
    /// 删除题库答案
    /// </summary>
    /// <param name="ids">题库答案ID集合</param>
    /// <returns>是否成功</returns>
    Task<int> DeleteBankAnswerByIds(List<long> ids);
}